<?php
declare (strict_types = 1);

namespace app\middleware;

use app\controller\Base;
use app\model\User as UserModel;
use app\model\UserLogin as LoginModel;

class Check extends Base
{
    /**
     * 处理请求
     *
     * @param \think\Request $request
     * @param \Closure       $next
     * @return Response
     */
    public function handle($request, \Closure $next,int $need_role = 1)
    {
        //
        $token = request()->header('x-token');
        if(empty($token)){
            return $this->create('','令牌不存在', 50008);
        }
        $res = checkToken($token);
        if($res['code'] == 2){
            return $this->create('',$res['msg'], 50014);
        }
        if($res['data']->roles > $need_role){
            return $this->create('','你没有权限', 304);
        }
        $request->data = $res;
        // $request=$res['data'];

        $response = $next($request);
        return $response;

        // return json($token);
        // if (empty($token)) {
        //     return $this->create('', '令牌不存在', 304);
        // }
        // $res = checkToken($token);
        // if ($res['code'] == 2) {
        //     return $this->create('', $res['msg'], 304);
        // }
        // // return json($res['data']->role);
        // if ($res['data']->roles > $need_role) {
        //     return $this->create('', '没有权限', 204);
        // };
        // return $this->create('', '没有权限', 204);

        // $request->data = $res;
        // $request=$res['data'];

        // $response = $next($request);
        // return $response;



        // $data = $request->param();
        // $token=setToken('123');
        // // $user_model = new UserModel();
        // // $login_model = new LoginModel();
        // // $allWorkNum = $user_model->getAllWorkNum;
        // // // return $allWorkNum;
        // // foreach($allWorkNum as $workNum){
        // //     if ($data['work_num'] == $workNum) {
        // //         $request->haveWorkNum = true;
        // //     }
        // // }
        // // $password = $login_model->getInfoByNumber($data['work_num'])['password'];
        // // if($password == $data['password']){
        // //     $request->passwordOk = true;
        // // }
        // return $next($request);
        
    }
}


